package io;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;

/**
 * @author Luka
 * @date 2021/05/28 15:12
 *
 * 缓冲字节输出流写出数据的缓冲区问题
 *
 **/
public class FlushDemo {
    public static void main(String[] args) throws Exception {
        FileOutputStream fos = new FileOutputStream("fos.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);

        String line = "画画的baby画画的baby";
        fos.write(line.getBytes("UTF-8"));

        /*
            JAVA IO 中所有的输出流都有flush方法,但是实际方法有作用的实在
            缓冲输出流上.目的是将缓冲六中已经缓存的数据一次性写出.

            频繁的调用flush方法会降低写出数据的效率,但是可以保证写出数据的
            即时性,按照实际需求调用即可
         */
        bos.flush();

        System.out.println("写出完毕");

        bos.close();

    }
}